package com.itheima.stargraph.service;

import com.itheima.stargraph.dto.request.Text2ImageReqDto;
import com.itheima.stargraph.dto.respone.Text2ImageResDto;
import com.itheima.stargraph.pojo.ComfyuiTask;

/**
 * 文生图业务处理接口类
 *
 * @Author mr.zhang
 * Date 2025/6/11 14:10
 */
public interface Text2ImageService {

    /**
     * 获取ComfyuiTask任务实例
     */
    ComfyuiTask getComfyuiTask(Text2ImageReqDto dto);




    /**
     * 添加最开始执行的任务
     */
    public void addStartedTask(String promptId, ComfyuiTask comfyuiTask);

    /**
     * 从缓存取出最开始的任务
     * @param prompId 任务ID
     */
    ComfyuiTask getStartedTask(String prompId);





    /**
     * 添加ComfyuiTask任务实例到队列中排队
     * @param task
     * @return
     */
    void addComfyuiTask(ComfyuiTask task);

    /**
     * 获取队列中的ComfyuiTask实例,score最小的实例
     */
    ComfyuiTask popComfyuiTask();

    /**
     * 添加comfyui流程任务（工作流任务）
     * @param dto
     * @return
     */
    Text2ImageResDto prompt(Text2ImageReqDto dto);
}
